// pages/login/login.js
var appInstance = getApp();
// console.log(appInstance.userInfo);
Page({

  /**
   * 页面的初始数据
   */
  data: {
    baseUrl:'',
    msg: 'love iooi',
    animationData: "",
    userInfo: {},
    isShow: true,
    xieyi:true,
    id:0,
    flag:0
  },
  checkboxmust:function(){
    this.setData({
      xieyi: !this.data.xieyi
    })
  },
  gotoxieyi:function(){
    wx.navigateTo({
      url: '/pages/xieyi/xieyi',
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setData({
      baseUrl: appInstance.baseUrl
    })
    if(options.id){
      this.setData({
        id: options.id,
        flag: options.flag
      })
    }
    wx.checkSession({
      success:()=> {
        //session_key 未过期，并且在本生命周期一直有效
        console.log('session未过期');
        this.getUserInfo();
      },
      fail:()=> {
        // session_key 已经失效，需要重新执行登录流程
        //登录
        // this.getUserInfo();
      }
    })

  },

  getUserInfo() {

    //判断用户是否授权
    wx.getSetting({
      success: (data) => {
        // console.log(data);
        if (data.authSetting['scope.userInfo']) {
          //用户已经授权
          //获取用户登录信息
          var value = wx.getStorageSync('userInfo')
          console.log(value,'本地用户信息');
          //是否有信息
          if (!value.nickName) {
            //没有用户信息
            wx.showToast({
              title: '请登录',
              icon: 'none',
              duration: 1000
            })

          } else {
            wx.showToast({
              title: '正在登录',
              icon: 'loading',
              duration: 1000
            })
            this.setData({
              userInfo: value
            })
            appInstance.userInfo = value;

            setTimeout(function () {
              //跳转到main页面
              wx.switchTab({
                url: '/pages/index/index'
              })
            }, 1000)

          }


        } else {
          //用户未授权

        }
      }
    });
  },

  handleGetUserInfo(data) {
    // console.log('用户点击了', data);
    if(this.data.xieyi){
      //判断用户是否点击了允许
      if (data.detail.rawData) {
        //用户点击的是允许
        wx.showLoading({
          title: '正在登录',
        })
        console.log(data.detail.userInfo);
        wx.setStorageSync('userInfo', data.detail.userInfo)
        //更新data中的userInfo
        this.setData({
          userInfo: data.detail.userInfo
        });
        appInstance.userInfo = data.detail.userInfo;

        //登录
        wx.login({
          success:(res)=>{
            if (res.code) {
              // 发起网络请求
              wx.request({
                url: 'https://api.tianlala.com.cn/login',
                data: {
                  code: res.code,
                  user: {
                    avatar:data.detail.userInfo.avatarUrl, 
                    name:data.detail.userInfo.nickName
                  }
                },
                method:'POST',
                success:(res)=>{
                  console.log(res,'获取token')
                  wx.setStorageSync('accesstoken','Bearer '+res.data.access_token)
                  wx.setStorageSync('user', res.data.user)

                  wx.hideLoading();
                  if(this.data.id && this.data.flag == 1){
                    wx.navigateTo({
                      url: '/pages/sign/sign?id=' + this.data.id,
                    })
                  } else if (this.data.id && this.data.flag == 2){
                    wx.navigateTo({
                      url: '/pages/taskDetail/taskDetail?taskid=' + this.data.id,
                    })
                  } else{
                    //点击跳转到首页面
                    wx.switchTab({
                      url: '/pages/index/index'
                    })
                  }
                },
                fail: (res) => {
                  console.log('失败！' , res)
                }
              })
            } else {
              console.log('登录失败！' + res.errMsg)
            }
          }
        })
       

       
      }
    }else{
      wx.showToast({
        title: '协议未同意',
        icon: 'success',
        duration: 2000
      })
    }
    
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    //创建动画
    var animation = wx.createAnimation({

      duration: 4000,
      timingFunction: "linear",
      delay: 0,
      transformOrigin: "50% 50%",

    })

    //设置动画
    // animation.rotate(90).step();     //旋转90度
    //animation.scale(1.5).step();        //放大1.5倍
    //animation.translate(-30,-50).step();        //偏移x,y,z
    //animation.skew(30,50).step();        //倾斜x,y
    setTimeout(function () {
      animation.scale(1.1).step({ duration: 3000 });
      animation.scale(1.0).step({ duration: 3000 });
      //导出动画数据传递给组件的animation属性。
      this.setData({
        animationData: animation.export(),
      })
    }.bind(this), 800)


  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})